Method and system for video indexing and video synopsis

ABSTRACT

In a system and method for generating a synopsis video from a source video, at least three different source objects are selected according to one or more defined constraints, each source object being a connected subset of image points from at least three different frames of the source video. One or more synopsis objects are sampled from each selected source object by temporal sampling using image points derived from specified time periods. For each synopsis object a respective time for starting its display in the synopsis video is determined, and for each synopsis object and each frame a respective color transformation for displaying the synopsis object may be determined. The synopsis video is displayed by displaying selected synopsis objects at their respective time and color transformation, such that in the synopsis video at least three points that each derive from different respective times in the source video are displayed simultaneously.

RELATED APPLICATONS

This application is a continuation-in-part application of WO2007/057893published May 24, 2007 (Rav-Acha et al.) “Method and system forproducing a video synopsis” filed Nov. 15, 2006 and further claimsbenefit of provisional applications Ser. Nos. 60/898,698 filed Feb. 1,2007; 60/911,839 filed Apr. 13, 2007 and 60/971,582 filed Sep. 12, 2007all of whose contents are included herein by reference.

FIELD OF THE INVENTION

This invention relates to the field of video summarization and videoindexing.

PRIOR ART

Prior art references considered to be relevant as a background to theinvention are listed below and their contents are incorporated herein byreference. Additional references are mentioned in the above-mentionedU.S. provisional applications Nos. 60/898,698; 60/911,839 and 60/971,582and their contents are incorporated herein by reference. Acknowledgementof the references herein is not to be inferred as meaning that these arein any way relevant to the patentability of the invention disclosedherein. Each reference is identified by a number enclosed in squarebrackets and accordingly the prior art will be referred to throughoutthe specification by numbers enclosed in square brackets.

-   [1] A. Agarwala, M. Dontcheva, M. Agrawala, S. Drucker, A.    Colburn, B. Curless, D. Salesin, and M. Cohen. Interactive digital    photomontage. In SIGGRAPH, pages 294-302, 2004.-   [2] Y. Boykov and V. Kolmogorov. An experimental comparison of    min-cut/max-flow algorithms for energy minimization in vision. IEEE    Trans. on Pattern Analysis and Machine Intelligence,    26(9):1124-1137, September 2004.-   [3] S. Cohen. Background estimation as a labeling problem. In    ICCV'05, pages 1034-1041, Washington, D.C., 2005.-   [4] A. Divakaran, K. Peker, R. Radhakrishnan, Z. Xiong, and R.    Cabasson. Video summarization using mpeg-7 motion activity and audio    descriptors. Technical Report TR-2003-34, MERL—A Mitsubishi Electric    Research Laboratory, Cambridge, Mass., May 2003.-   [5] G. Doretto, A. Chiuso, Y. Wu, and S. Soatto. Dynamic textures.    Int. J. Computer Vision, 51:91-109, 2003.-   [6] M. Irani, P. Anandan, J. Bergen, R. Kumar, and S. Hsu. Efficient    representations of video sequences and their applications. Signal    Processing: Image Communication, 8(4):327-351, 1996.-   [7] H. Kang, Y. Matsushita, X. Tang, and X. Chen. Space-time video    montage. In CVPR'06, pages 1331-1338, New-York, June 2006.-   [8] C. Kim and J. Hwang. An integrated scheme for object-based video    abstraction. In ACM Multimedia, pages 303-311, New York, 2000.-   [9] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by    simulated annealing. Science, 4598(13):671-680, 1983.-   [10] V. Kolmogorov and R. Zabih. What energy functions can be    minimized via graph cuts? In ECCV, pages 65-81, 2002.-   [11] Y. Li, T. Zhang, and D. Tretter. An overview of video    abstraction techniques. Technical Report HPL-2001-191, HP    Laboratory, 2001.-   [12] J. Nam and A. Tewfik. Video abstract of video. In 3rd IEEE    Workshop on Multimedia Signal Processing, pages 117-122, Copenhagen,    September 1999.-   [13] J. Oh, Q. Wen, J. lee, and S. Hwang. Video abstraction. In S.    Deb, editor, Video Data Mangement and Information Retrieval, pages    321-346. Idea Group Inc. and IRM Press, 2004.-   [14] M. Oren, C. Papageorgiou, P. Shinha, E. Osuna, and T. Poggio. A    trainable system for people detection. In Proceedings of Image    Understanding Workshop, pages 207-214, 1997.-   [15] M. Gangnet P. Perez and A. Blake. Poisson image editing. In    SIGGRAPH, pages 313-318, July 2003.-   [16] C. Pal and N. Jojic. Interactive montages of sprites for    indexing and summarizing security video. In Video Proceedings of    CVPR05, page II: 1192, 2005.-   [17] R. Patil, P. Rybski, T. Kanade, and M. Veloso. People detection    and tracking in high resolution panoramic video mosaic. In Int.    Conf. on Intelligent Robots and Systems (IROS 2004), volume 1, pages    1323-1328, October 2004.-   [18] N. Petrovic, N. Jojic, and T. Huang. Adaptive video fast    forward. Multimedia

Tools and Applications, 26(3):327-344, August 2005.

-   [19] A. Pope, R. Kumar, H. Sawhney, and C. Wan. Video abstraction:    Summarizing video content for retrieval and visualization. In    Signals, Systems and Computers, pages 915-919, 1998.-   [20] A. Rav-Acha, Y. Pritch, and S. Peleg. Making a long video    short: Dynamic video synopsis. In CVPR'06, pages 435-441, New-York,    June 2006.-   [21] A. M. Smith and T. Kanade. Video skimming and characterization    through the combination of image and language understanding. In    CAIVD, pages 61-70, 1998.-   [22] J. Sun, W. Zhang, X. Tang, and H. Shum. Background cut. In    ECCV, pages 628-641, 2006.-   [23] Y. Weiss and W. T. Freeman. On the optimality of solutions of    the max-product belief propagation algorithm in arbitrary graphs.    IEEE Transactions on Information Theory, 47(2):723-735, 2001.-   [24] X. Zhu, X. Wu, J. Fan, A. K. Elmagarmid, and W. G. Aref.    Exploring video content structure for hierarchical summarization.    Multimedia Syst., 10(2):98-115, 2004.-   [25] S. Peleg and A. Rav-Acha, WO2007/057893 “Method and system for    producing a video synopsis”-   [26] J. Assa, Y. Caspi, and D. Cohen-Or. Action synopsis: Pose    selection and illustration. In SIGGRAPH, pages 667-676, 2005.-   [27] Carsten Rother, Lucas Bordeaux, Youssef Hamadi, and Andrew    Blake. Autocollage. ACM Transactions on Graphics, 25(3):847-852,    July 2006.-   [28] Aseem Agarwala. Efficient gradient-domain compositing using    quadtrees. ACM Transactions on Graphics (Proceedings of SIGGRAPH    2007), 2007.-   [29] G. Brostow and I. Essa. Motion based decompositing of video. In    ICCV'99, pages 8-13, Corfu, 1999.-   [30] J. Shi and J. Malik, Normalized cuts and image segmentation,    IEEE Transactions on Pattern Analysis and Machine Intelligence,    22(8):888-905, 2000.-   [31] O. Boiman and M. Irani. Detecting irregularities in images and    in video. In ICCV, pages I: 462-469, Beijing, 2005.-   [32] B. M. Carvalho, G. T. Herman, and T. Y. Kong. Simultaneous    fuzzy segmentation of multiple objects. Discrete Applied    Mathematics, Vol 151, No. 1-3, October 2005, pp 55-77.-   [33] G. T. Herman and B. M. Carvalho. Multiseeded Segmentation Using    Fuzzy Connectedness. IEEE Transactions on Pattern Analysis and    Machine Intelligence, v. 23 no. 5, pp. 460-474, May 2001.-   [34] A. Levin, A. Rav-Acha, and D. Lischinski. Spectral Matting.    IEEE Conf. on Computer Vision and Pattern Recognition (CVPR),    Minneapolis, June 2007.-   [35] N. E. Apostoloff and A. W. Fitzgibbon. Bayesian video matting    using learnt image priors. In Proceedings IEEE Computer Society    Conference on Computer Vision and Pattern Recognition (CVPR), June    2004, Washington D.C.

BACKGROUND OF THE INVENTION

Sorting through a collection of raw video is time consuming since it isnecessary to view a video clip in order to determine if anything ofinterest has been recorded. While this tedious task may be feasible inpersonal video collections, it is impossible when endless video, asrecorded by surveillance cameras and webcams, is involved. Millions ofwebcams are covering the world capturing their field of view 24 hours aday. It is reported that in UK alone there are millions of surveillancecameras covering the city streets. Many webcams even transmit theirvideo publicly over the internet for everyone to watch. Many securitycameras are also available online in stores, airports and other publicareas.

One of the problems in utilizing webcams is that they provide raw,unedited, data. Most surveillance video is therefore never watched orexamined. In our earlier WO2007/057893 [25] we proposed a method forvideo synopsis for creating shortened videos by combining selectedportions from multiple original images of a scene. A video clipdescribes visual activities along time, and compressing the time axisallows viewing a summary of such a clip in a shorter time. Fast-forward,where several frames are skipped between selected frames, is the mostcommon tool used for video summarization. A special case of fast-forwardis called “time lapse”, generating a video of very slow processes likegrowth of flowers, etc. Since fast-forward may lose fast activitiesduring the dropped frames, methods for adaptive fast forward have beendeveloped [12, 18, 4]. Such methods attempt to skip frames in periods oflow interest or lower activity, and keep frames in periods of higherinterest or higher activity. A similar approach extracts from the videoa collection of short video sequences best representing its contents[21].

Many approaches to video summary eliminate completely the time axis, andshow a synopsis of the video by selecting a few key frames [8, 24].These key frames can be selected arbitrarily, or selected according tosome importance criteria. But key frame representation loses the dynamicaspect of video. Comprehensive surveys on video abstraction appear in[11, 13].

In both approaches above, entire frames are used as the fundamentalbuilding blocks. A different methodology uses mosaic images togetherwith some meta-data for video indexing [6, 19, 16]. In this case thestatic synopsis image includes objects from different times.

Object-based approaches to video synopsis were first presented in [20,7], where moving objects are represented in the space-time domain. Theconcatenation of portions of images representing objects or activitiesacross successive frames of a video are called “tubes”. As objects arerepresented by tubes in the space-time volume, the terms “objects” and“tubes” are used interchangeably in the following description. Thesepapers [20, 7] introduced a new concept: creating a synopsis video thatcombines activities from different times (see FIG. 1).

An example of an object-based approach is disclosed in WO2007/057893[259 assigned to the present applicant wherein a subset of frames in aninput video is obtained that show movement of one or more objects.Selected portions from the subset that show non-spatially overlappingappearances of the objects in the first dynamic scene are copied frommultiple input frames to a reduced number of frames in the output videosequence such that multiple locations of the objects as seen atdifferent times in the input video are shown simultaneously in theoutput video.

The approaches disclosed in references [20, 7] are based on theobservation that more activities can be shown in shorter video if thechronological order is not enforced. It would be useful to extend suchan approach to the synopsis of endless video sequences such as obtainedusing surveillance cameras so as to limit the duration of the outputvideo to a desired limit while nevertheless doing so in a controlledmanner that reduces the risk of feature loss.

Efficient indexing, retrieval and browsing of long video is growing inimportance, especially given the rapid increase in the number ofsurveillance cameras that endlessly collect video. Conventional videoindexing uses manual annotation of the video with keywords, but thismethod is time-consuming and impractical for surveillance cameras.Additional video indexing methods have been proposed, based on selectionof representative key frames or representative time intervals from theinput video.

Video synopsis can be used for indexing, retrieval and browsing as manyobjects in a covered time period are shown in a short synopsis video.However, since many different objects are shown simultaneously,examining the simple synopsis video may be confusing.

SUMMARY OF THE INVENTION

According to a first aspect of the invention there is provided acomputer-implemented method for a computer-implemented method forgenerating a synopsis video from a source video, the method comprising:

selecting at least three different source objects according to one ormore defined constraints, each source object being a connected subset ofimage points from at least three different frames of the source video;

sampling from each selected source object one or more synopsis objectsby temporal sampling using image points derived from specified timeperiods;

determining for each synopsis object a respective time for starting itsdisplay in the synopsis video; and

displaying the synopsis video by displaying selected synopsis objects orobjects derived therefrom at their respective times;

such that in the synopsis video at least three points that each derivefrom different respective times in the source video are displayedsimultaneously.

According to a second aspect of the invention there is provided a systemfor generating a synopsis video from a source video, the systemcomprising:

a source object selector adapted to be coupled to an object memory thatstores objects in a source video for selecting at least three differentsource objects according to one or more defined constraints, each sourceobject being a connected subset of image points from at least threedifferent frames of the source video;

a synopsis object sampler coupled to the source object selector forsampling from each selected source object one or more synopsis objectsby temporal sampling using image points derived from specified timeperiods;

a time selection unit coupled to the synopsis object sampler fordetermining for each synopsis object a respective time for starting itsdisplay in the synopsis video;

a stitching unit coupled to the time selection unit for stitching theselected synopsis objects or objects derived therefrom at theirrespective times so as to generate successive synopsis video frames,such that in the synopsis video frames at least three points that eachderive from different respective times in the source video are displayedsimultaneously; and

a synopsis frame memory coupled to the stitching unit for storing saidsynopsis video frames.

The video synopsis disclosed by the present invention is a temporallycompact representation of video that enables video browsing andretrieval and allows indexing of different features so as to allowselected features to be isolated and for their temporal progression in aspecified time interval to be displayed. In accordance with someembodiments of the invention, a hierarchical video indexing based onvideo synopsis is employed wherein indexing is based of first selectingthe class of desired objects or activities, and only later selecting anindividual object or activity. This procedure may be repeated so as toallow multi-level hierarchical indexing.

An example of the general type of video synopsis with which theinvention is concerned is described in [25] with reference to thespace-time volume shown in FIG. 1. The video begins with a personwalking on the ground, and after a period of inactivity a bird is flyingin the sky. The inactive frames are omitted in most video abstractionmethods. Video synopsis is substantially more compact, playing theperson and the bird simultaneously. This makes an optimal use of imageregions by shifting events from their original time intervals to othertime intervals when no other activities take place at these spatiallocations. Such manipulations relax the chronological consistency ofevents. To the extent that similar techniques may be employed by thepresent invention, they will not be repeated here and the reader shouldrefer to WO2007/057893 for a full description. For the sake of brevityand in order not to obfuscate the present invention, which in someaspects may be seen as an improvement of WO2007/057893, only thosefeatures that relate to the present invention will be described indetail.

Applying this principle to infinite video as obtain by webcams andsurveillance cameras involves many additional challenges:

-   -   Since no storage is infinite, there is a need to “forget” events        when an infinite video is summarized.    -   The appearance of the background varies substantially in a long        video, e.g. day to night. These changes should be addressed when        creating the background of the synopsis and when inserting        objects into the background.    -   Because activities from different times can appear        simultaneously and on a background from even another time,        special care should be taken when stitching all these to give        the output video.    -   Fast response to user queries is required in spite of the huge        amount of data.

Video synopsis can make surveillance cameras and webcams more useful bygiving the viewer the ability to view summaries of the endless video, inaddition to the live video stream. To enable this, a synopsis server canview the live video feed, analyze the video for interesting events, andrecord an object-based description of the video. This description listsfor each webcam the interesting objects, their duration, location, andtheir appearance.

A query that could be answered by the system may be similar to “I wouldlike to watch in one minute a synopsis of the video from this webcamcaptured during the last hour”, or “I would like to watch in fiveminutes a synopsis of last week”, etc. Responding to such a query, themost interesting events (“tubes”) are collected from the desired period,and are assembled into a synopsis video of the desired length. Thesynopsis video is an index into the original video as each objectincludes a pointer to its original time.

While webcam video is endless, and the number of objects is unbounded,the available data storage for each webcam may be limited. To keep afinite object queue we propose a procedure for removing objects fromthis queue when space is exhausted. Removing objects from the queueshould be done according to similar importance criteria as done whenselecting objects for inclusion in the synopsis, allowing the finaloptimization to examine fewer objects.

Within the context of the invention and the appended claims, the term“video” is synonymous with “movie” in its most general term providingonly that it is accessible as a computer image file amenable topost-processing and includes any kind of movie file e.g. digital,analog. The camera is preferably at a fixed location by which is meantthat it can rotate and zoom—but is not subjected to translation motionas is done in hitherto-proposed techniques. The scenes with the presentinvention is concerned are dynamic at least some of the time.

In order to describe the invention use will be made of a construct thatwe refer to as the “space-time volume” to create the synopsis videos.The space-time volume may be constructed from the input sequence ofimages by sequentially stacking all the frames along the time axis.However, it is to be understood that so far as actual implementation isconcerned, it is not necessary actually to construct the space-timevolume for example by actually stacking in time 2D frames of a dynamicsource scene. More typically, source frames are processed individuallyto construct target frames but it will aid understanding to refer to thespace time volume as though it is a physical construct rather than aconceptual construct.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to understand the invention and to see how it may be carriedout in practice, embodiments will now be described, by way ofnon-limiting example only, with reference to the accompanying drawings,in which:

FIG. 1 is a pictorial representation showing a prior art approach forproducing a compact video synopsis by playing temporally displacedfeatures simultaneously;

FIGS. 2 a to 2 d show background images from a surveillance camera atStuttgart airport at different times;

FIGS. 3 a to 3 d show four extracted tubes shown “flattened” over thecorresponding backgrounds from FIGS. 2 a to 2 d;

FIGS. 4 a and 4 b show two extracted tubes from a “Billiard” scene;

FIGS. 5 a and 5 b show spatial distribution of activity in the airportscene shown in FIG. 2;

FIG. 6 shows graphically temporal distribution of activities in theairport scene shown in FIG. 2, as measured by number of moving objects;

FIG. 7 is a block diagram showing architecture of synopsis-basedhierarchical video indexing and search according to an embodiment of theinvention;

FIG. 8 shows the result of clustering objects appearing in thesurveillance video of the parking lot shown in FIG. 12;

FIG. 9 shows a frame from a “top-level synopsis” in the indexinghierarchy of the parking lot video shown in FIG. 13 whererepresentatives of the different clusters are presented simultaneously;

FIGS. 10 a and 10 b show synopsis frames from a video captured over 24hours at Stuttgart airport;

FIG. 11 shows a synopsis frame generated from three frames taken from avideo captured over 9 hours in a billiard club;

FIGS. 12 a and 12 b show synopsis frames generated from a video capturedovernight in St. Petersburg;

FIGS. 13 a and 13 b show synopsis frames generated from a webcam takenover five hours of a quiet parking lot;

FIG. 14 is a block diagram showing the main functionality of a systemaccording to the invention; and

FIG. 15 is a flow diagram showing the principal operation carried inaccordance with the invention.

Examples of video synopsis as shown as representative frames in thefigures are, of course, best viewed in video. Examples can be accessedat http://www.vision.huji.ac.il/video-synopsis/.

DETAILED DESCRIPTION OF EMBODIMENTS Computing Activity Tubes

From each object, segments are created by selecting subsets of frames inwhich the object appears. Such segments can represent different timeintervals, optionally taken at different sampling rates.

In order to apply such a technique to generate a useful synopsis ofendless video, interesting objects and activities (tubes) should beidentified. In many cases the indication of interest is simple: a movingobject is interesting. While we use object motion as an indication ofinterest in many examples, exceptions must be noted. Some motions mayhave little importance, like leaves on a tree or clouds in the sky.People or other large animals in the scene may be important even whenthey are not moving. While we do not address these exceptions, it ispossible to incorporate object recognition (e.g. people detection [14,17]), dynamic textures [5], or detection of unusual activities [31]. Wewill give a simple example of video synopsis giving preferences todifferent classes of objects.

Background Construction

To enable segmentation of moving foreground objects we start withbackground construction. In short video clips the appearance of thebackground does not change, and it can be built by using a temporalmedian over the entire clip. In the case of surveillance cameras, theappearance of the background changes in time due to changes in lighting,changes of background objects, etc. In this case the background for eachtime can be computed using a temporal median over a few minutes beforeand after each frame. We normally use a median over four minutes. Othermethods for background construction are possible, even when using ashorter temporal window [3, 9], but we used the median due to itsefficiency.

FIGS. 2 a to 2 d show background images from a surveillance camera atStuttgart airport. FIGS. 2 a and 2 b show daylight images while FIGS. 2c and 2 d are at night. Parked cars and parked airplanes become part ofthe background.

We used a simplification of [22] to compute the space-time tubesrepresenting dynamic objects. This is done by combining backgroundsubtraction together with min-cut to get a smooth segmentation offoreground objects. As in [22], image gradients that coincide withbackground gradients are attenuated, as they are less likely to berelated to motion boundaries. The resulting “tubes” are connectedcomponents in the 3D space-time volume, and their generation is brieflydescribed below.

Let B be the current background image and let I be the current image tobe processed. Let V be the set of all pixels in I, and let N be the setof all adjacent pixel pairs in I. A labeling function f labels eachpixel r in the image as foreground (f_(r)=1) or background (f_(r)=0). Adesirable labeling f usually minimizes the Gibbs energy [2]:

$\begin{matrix}{{{E(f)} = {{\sum\limits_{r \in V}{E_{1}( f_{r} )}} + {\lambda {\sum\limits_{{({r,s})} \in N}{E_{2}( {f_{r},f_{s}} )}}}}},} & (1)\end{matrix}$

where E₁(f_(r)) is the unary-color term, E₂(f_(r),f_(s)) is thepairwise-contrast term between adjacent pixels r and s, and λ is a userdefined weight.

As a pairwise-contrast term, we used the formula suggested by [22]:

E ₂(f _(r) ,f _(s))=δ(f _(r) −f _(s))·exp(−βd _(rs)),   (2)

where β=2<∥(I(r)−I(s)∥²>⁻¹ is a weighting factor (<·> is the expectationover the image samples), and d_(rs) are the image gradients, attenuatedby the background gradients, and given by:

$\begin{matrix}{d_{rs} = {{{{I(r)} - {I(s)}}}^{2} \cdot \frac{1}{1 + {( \frac{{{B(r)} - {B(s)}}}{K} )^{2}{\exp ( \frac{- z_{rs}^{2}}{\sigma_{z}} )}}}}} & (3)\end{matrix}$

In this equation, z_(rs) measures the dissimilarity between theforeground and the background:

z _(rs)=max∥I(r)−B(r)∥,∥I(s)−B(s)∥,   (4)

and K and σ_(z) are parameters, set to 5 and 10 respectively assuggested by [22].

As for the unary-color term, let d_(r)=∥I(r)−B(r)∥ be the colordifferences between the image I and the current background B. Theforeground (1) and background (0) costs for a pixel r are set to:

$\begin{matrix}{{E_{1}(1)} = \{ {{\begin{matrix}0 & {d_{r} > k_{1}} \\{k_{1} - d_{r}} & {{otherwise},}\end{matrix}{E_{1}(0)}} = \{ \begin{matrix}\infty & {d_{r} > k_{2}} \\{d_{r} - k_{1}} & {k_{2} > d_{r} > k_{1}} \\0 & {{otherwise},}\end{matrix} } } & (5)\end{matrix}$

where k₁ and k₂ are user defined thresholds. Empirically k₁=30/255 andk₂=60/255 worked well in our examples.

We do not use a lower threshold with infinite weights, since the laterstages of our algorithm can robustly handle pixels that are wronglyidentified as foreground. For the same reason, we construct a mask ofall foreground pixels in the space-time volume, and apply a 3Dmorphological dilation on this mask. As a result, each object issurrounded by several pixels from the background. This fact will be usedlater by the stitching algorithm.

Finally, the 3D mask is grouped into connected components, denoted as“activity tubes”. FIGS. 3 a to 3 d show four extracted tubes shown“flattened” over the corresponding backgrounds from FIG. 2. The lefttubes correspond to ground vehicles, while the right tubes correspond toairplanes on the runway at the back. FIGS. 4 a and 4 b show synopsisframes derived using two extracted tubes from a “Billiard” scene so asto depict in a single frame a multitude of temporally separated players.

Each tube b is represented by its characteristic function

$\begin{matrix}{{\chi_{b}( {x,y,t} )} = \{ \begin{matrix}{{{I( {x,y,t} )} - {B( {x,y,t} )}}} & {t \in t_{b}} \\0 & {{otherwise},}\end{matrix} } & (6)\end{matrix}$

where B(x,y,t) is a pixel in the background image, I(x,y,t) is therespective pixel in the input image, and t_(b) is the time interval inwhich this object exists.

Other methods for segmentation of moving objects are possible. Forexample, in binary segmentation, every element in the image can beclassified as belonging to an object or not belonging to an object.Segmentation can also be fuzzy, assigning to each element in an image agrade of membership in an object. Suitable approaches are described in[32, 33, 34, 35]. The notion of fuzzy connectivity is explained in [33].Fuzzy segmentation is sometimes called Fuzzy matting [35], and isextensively used in graphics for insertion of objects of differentbackgrounds [35]. In our work we treat all objects as binary. However,an extension to fuzzy objects is straightforward. For example, allelements of the cost functions can be multiplied by the fuzzy membershipvalues of the involved elements. Also, when a fuzzy object is insertedinto an image, the membership value can be used “alpha matting”,allowing a transparency effect.

Energy Between Tubes

We now define the energy of interaction between tubes. This energy willlater be used by the optimization stage, creating a synopsis havingmaximum activity while avoiding conflicts and overlap between objects.Let B be the set of all activity tubes. Each tube b is defined over afinite time segment in the original video stream t_(b)=[t_(b) ^(s),t_(b)^(e)].

The synopsis video is generated based on a temporal mapping M, shiftingobjects b in time from its original time in the input video into thetime segment {circumflex over (t)}_(b)=[{circumflex over (t)}_(b)^(s),{circumflex over (t)}_(b) ^(e)] in the video synopsis.M(b)={circumflex over (b)} indicates the time shift of tube b into thesynopsis, and when b is not mapped to the output synopsis M(b)=Ø. Wedefine an optimal synopsis video as the one that minimizes the followingenergy function:

$\begin{matrix}{{{E(M)} = {{\sum\limits_{b \in B}{E_{a}( \hat{b} )}} + {\sum\limits_{b,{b^{\prime} \in B}}( {{\alpha \; {E_{t}( {\hat{b},{\hat{b}}^{\prime}} )}} + {\beta \; {E_{c}( {\hat{b},{\hat{b}}^{\prime}} )}}} )}}},} & (7)\end{matrix}$

where E_(a) is the activity cost, E_(t) is the temporal consistencycost, and E_(c) is the collision cost, all defined below. Weights α andβ are set by the user according to their relative importance for aparticular query. Reducing the weights of the collision cost, forexample, will result in a denser video where objects may overlap.Increasing this weight will result in sparser video where objects do notoverlap and less activity is presented. An example for the differentsynopsis obtained by varying β is given in FIG. 10 b.

After extracting the activity tubes the pixel based cost can be replacedwith object based cost. Specifically, the Stitching cost associated withprior art approaches such as discussed in [25] is replaced by theCollision cost in Eq. (7) (described below). This cost penalizes forstitching two different objects together, even if their appearance issimilar (e.g. two people). In addition, a “Temporal Consistency” cost isdefined, penalizing for the violation of the temporal relations betweenobjects (or tubes). Such features of the synopsis are harder to expressin terms of pixel-based costs.

Activity Cost

The activity cost favors synopsis movies with maximum activity. Itpenalizes for objects that are not mapped to a valid time in thesynopsis. When a tube is excluded from the synopsis, i.e M(b)=Ø, then

$\begin{matrix}{{{E_{a}( \hat{b} )} = {\sum\limits_{x,y,t}{\chi_{\hat{b}}( {x,y,t} )}}},} & (8)\end{matrix}$

where χ_(b)(x,y,t) is the characteristic function as defined in Eq. (6).For each tube b, whose mapping {circumflex over (b)}=M(b) is partiallyincluded in the final synopsis, we define the activity cost similar toEq. (8) but only pixels that were not entered into the synopsis areadded to the activity cost.

Collision Cost

For every two “shifted” tubes and every relative time shift betweenthem, we define the collision cost as the volume of their space-timeoverlap weighted by their activity measures:

$\begin{matrix}{{E_{c}( {\hat{b},{\hat{b}}^{\prime}} )} = {\sum\limits_{x,y,{t \in {{\hat{t}}_{b}\bigcap{\hat{t}}_{b^{\prime}}}}}{{\chi_{\hat{b}}( {x,y,t} )}{\chi_{{\hat{b}}^{\prime}}( {x,y,t} )}}}} & (9)\end{matrix}$

where {circumflex over (t)}_(b)∩{circumflex over (t)}_(b′) is the timeintersection of b and b′ in the synopsis video. This expression willgive a low penalty to pixel whose color is similar to the background,but were added to an activity tube in the morphological dilationprocess. Changing the weight of the collision cost E_(c) changes thedensity of objects in the synopsis video as shown in FIG. 10 b.

Temporal Consistency Cost

The temporal consistency cost adds a bias towards preserving thechronological order of events. The preservation of chronological orderis more important for tubes that have a strong interaction. Forexample—it would be preferred to keep relative time of two peopletalking to each other, or keep the chronological order of two eventswith a reasoning relation. Yet, it is very difficult to detect suchinteractions. Instead, the amount of interaction d(b,b′) between eachpair of tubes is estimated for their relative spatio-temporal distanceas described below:

$\begin{matrix}{{{{{if}\mspace{14mu} {\hat{t}}_{b}}\bigcap{\hat{t}}_{b^{\prime}}} \neq {Ø\mspace{14mu} {then}}}{{{d( {b,b^{\prime}} )} = {\exp( {- {\min\limits_{t \in {{\hat{t}}_{b}\bigcap{\hat{t}}_{b^{\prime}}}}{\{ {d( {b,b^{\prime},t} )} \}/\sigma_{space}}}} )}},}} & (10)\end{matrix}$

where d(b,b′,t) is the Euclidean distance between the pair of closestactive pixels from b and b′ in frame t and σ_(space) determines theextent of the space interaction between tubes.

If tubes b and b′ do not share a common time at the synopsis video, andassuming that b is mapped to earlier time than b′, their interactiondiminishes exponentially with time:

d(b,b′)=exp(−({circumflex over (t)} _(b′) ^(s) {circumflex over (t)}_(b) ^(e))/σ_(time)),   (11)

where σ_(time) is a parameter defining the extent of time in whichevents are still considered as having temporal interaction.

The temporal consistency cost creates a preference for maintaining thetemporal relations between objects by penalizing cases where theserelations are violated:

$\begin{matrix}{{E_{t}( {\hat{b},{\hat{b}}^{\prime}} )} = {{d( {b,b^{\prime}} )} \cdot \{ \begin{matrix}0 & {{t_{b^{\prime}}^{s} - t_{b}^{s}} = {{\hat{t}}_{b^{\prime}}^{s} - {\hat{t}}_{b}^{s}}} \\C & {{otherwise},}\end{matrix} }} & (12)\end{matrix}$

where C is a constant penalty for events that do not preserve temporalconsistency.

Energy Minimization

Since the global energy function in Eqs. (7) and (15) is written as asum of energy terms defined on single tubes or pairs of tubes, it can beminimized by various MRF-based techniques such as Belief Propagation[23] or Graph Cuts [10]. In our implementation we used the simplersimulated annealing method [9] which gave good results. The simulatedannealing was applied in the space of all possible temporal mappings M,including the special case when a tube is not used at all in thesynopsis video.

Each state describes the subset of tubes that are included in thesynopsis, and neighboring states are defined as states in which a singleactivity tube is removed or changes its mapping into the synopsis. As aninitial state we used the state in which all tubes are shifted to thebeginning of the synopsis movie. Also, in order to acceleratecomputation, it is possible to restrict the temporal shifts of tubes tobe in jumps of 10 frames.

Synopsis of Endless Video

As mentioned earlier, millions of webcams and surveillance cameras arecovering the world, capturing their field of view 24 hours a day. One ofthe problems in utilizing these cameras is that they provide uneditedraw data. A two hours feature film, for example, is usually created fromhundreds or even thousands of hours of raw video footage. Withoutediting, most of the webcam data is irrelevant. Also, viewing a camerain another continent may be convenient only during hours of non-activitybecause of time-zone differences.

An important feature of the present invention is to make the webcamresource more useful by giving the viewer the ability to view summariesof the endless video, in addition to the live video stream provided bythe camera. A user may wish to watch in five minutes a synopsis of allcontent captured during the previous week. To enable this, we describe asystem that may be based on the object-based synopsis as described inWO2007/057893, but includes additional components that allow dealingwith endless videos.

In this system, a server can view the live video feed, analyze the videofor interesting events, and record an object-based description of thevideo. This description lists for each camera the interesting objects,their duration, location, and their appearance.

A two phase process is proposed for synopsis of endless video:

-   -   1) Online Phase during video capture. This phase is done in real        time.        -   Object (tube) detection and segmentation.        -   Inserting detected objects into the object queue.        -   Removing objects from the object queue when reaching a space            limit.    -   2) Response Phase constructing a synopsis according to a user        query. This phase may take a few minutes, depending on the        amount of activity in the time period of interest. This phase        includes:        -   Constructing a time lapse video of the changing background.            Background changes are usually caused by day-night            differences, but can also be a result of an object that            starts (stops) moving.        -   Selecting tubes that will be included in the synopsis video            and computing a visually appealing temporal arrangement of            these tubes.        -   Stitching the tubes and the background into a coherent            video. This action should take into account that activities            from different times can appear simultaneously, and on a            background from yet another time.

Pre-Processing—Filtering Out Stationary Frames

Many surveillance cameras and webcams image scenes that exhibit noactivity over long periods. For storage efficiency, frames correspondingto such time periods are commonly filtered out during the online phase.The original time of the remaining frames is recorded together with eachframe. In one implementation, frames were recorded according to twocriteria: (1) A global change in the scene, measured by the sum ofsquared difference (SSD) between the incoming frame and the last keptframe. This criterion tracked the lighting changes expressed by agradual illumination change in the entire frame. (2) Existence of amoving object, measured by the maximal SSD in small windows.

By assuming that moving objects with a very small duration (e.g.—lessthan a second) are not important, video activity can be measured onlyonce in a few frames.

The Object Queue

One of the main challenges in handling endless videos is developing ascheme to “forget” older objects when new objects arrive. The naivescheme of discarding the oldest activity is not good, as a user may wishto get a summary of a long time duration which may include objects fromthe entire period. Instead, we propose an alternative scheme that aimsto estimate the importance of each object to possible future queries,and discard objects accordingly.

All detected objects, represented as tubes in the space-time volume, arestored in a queue awaiting user queries. When an object is inserted intothe queue, its activity cost (Eq. (8)) is computed to accelerate thefuture construction of synopsis videos. As the video generated by thewebcam is endless, it is likely that at some point the allocated spacewill be exhausted, and objects will have to be removed from the queue.

When removing objects (tubes) from the queue, we prefer to removeobjects that are least likely to be included in a final synopsis. In ourexamples we used three simple criteria that can be computed efficiently:“importance” (activity), “collision potential”, and “age”. But otheroptions are possible, for example when specific appearance or activityis of interest.

A possible measure for the importance of an object is the sum of itscharacteristic function as defined in Eq. (8).

Since the collision cost cannot be computed before receiving the userquery, an estimate for the collision cost of tubes is made using thespatial activity distribution in the scene. This spatial activity isrepresented by an image which is the sum of active pixels of all objectsin each spatial location, normalized to sum to one. A similar spatialactivity distribution is computed for each individual object (this timenot normalized). The correlation between these two activitydistributions is used as a “potential collision” cost for this object.FIGS. 5 a and 5 b show the spatial distribution of activity in theairport scene shown in FIG. 2, where intensity is log of activity value.FIG. 5 a shows the activity distribution of a single tube, and FIG. 5 bshows the average over all tubes. As expected, highest activity is onthe car lanes and on the runway. Potential collision of tubes is higherin regions having a higher activity.

There are several possible approaches to address the removal of olderobjects from the queue, taking into consideration the desireddistribution of objects in the synopsis. For example, the user can beinterested to focus on newer events but leave some representation forold events in case they were significant. Alternatively, the synopsisshould have a uniform representation of every time interval. Forexample, in a synopsis of 24 hours a user may be interested to seeobjects from each and every hour if applicable.

In the first approach we can assume that the density of objects in thequeue should decrease exponentially with the age of the objects. Forexample, if we divide the age axis into discrete time intervals, thenumber of objects at the t's interval, N_(t), be proportional to

$\begin{matrix}{{N_{t} = {K\frac{1}{\sigma}^{- \frac{t}{\sigma}}}},} & (13)\end{matrix}$

where σ is the decay coefficient, and K is determined to control thetotal number of objects in the queue. When an object should be removedfrom the queue, the number of objects in each time interval t iscompared to N_(t). Only objects from time intervals t whose populationexceeds N_(t) will be evaluated using the activity cost and thepotential collision. The object with minimal activity and maximalcollision will be removed.

An example of temporal distribution of objects arriving into the queueappears in FIG. 6, which shows graphically temporal distribution ofactivities, as measured by number of moving objects, at the airportscene of FIG. 2 over 29 hours. There are 1,920 objects during thisperiod. Exponential decay of objects in the queue will result in an agedistribution which is proportional to the arrival distributionmultiplied by a decaying exponential.

Synopsis Generation

The object queue can be accessed via queries such as “I would like tohave a one-minute synopsis of this camera broadcast during the pastday”. Given the desired period from the input video, and the desiredlength of the synopsis, the synopsis video is generated using fouroperations. (i) Generating a background video. (ii) Once the backgroundvideo is defined, a consistency cost is computed for each object and foreach possible time in the synopsis. (iii) An energy minimization stepdetermines which tubes (space-time objects) appear in the synopsis andat what time. (iv) The selected tubes are combined with the backgroundtime-lapse to get the final synopsis. These operations are described inthis section. The reduction of the original video to an object basedrepresentation enables a fast response to queries.

After user query a second (smaller) object queue is generated, havingonly objects from the desired time period. To enable fast optimization,the collision cost in Eq. (9) between every two objects in the smallerqueue is computed in advance.

Time Lapse Background

The background of the synopsis video is a time lapse background video,generated before adding activity tubes into the synopsis. The backgroundvideo has two tasks: (i) It should represent the background changes overtime (e.g. day-night transitions, etc.). (ii) It should represent thebackground of the activity tubes. These two goals are conflicting, asrepresenting the background of activity tubes will be done best when thebackground video covers only active periods, ignoring, for example, mostnight hours.

We address this trade-off by constructing two temporal distributions.(i) A temporal activity distribution H_(a) of the video stream as shownin FIG. 6. (ii) A uniform temporal distribution H_(t). We compute athird temporal distribution by interpolating the two temporaldistributions λ·H_(a)+(1−λ)·H_(t), where λ is a weight given by theuser. With λ=0 the background time lapse video will be uniform in timeregardless of the activities, while with λ=1 the background time lapsevideo will include the background only from active periods. We usuallyuse 0.25<λ<0.5.

Background frames are selected for the time-lapse background videoaccording to the interpolated temporal distribution. This selection isdone such that the area of the histogram between every two selectedbackground frames is equal. More frames are selected from active timedurations, while not totally neglecting inactive periods.

Alternatively, the background may be replaced by a synthetic background,and objects will be placed on top of this synthetic background.

Consistency with Background

Since we do not assume accurate segmentation of moving objects, weprefer to stitch tubes to background images having a similar appearance.This tube to background consistency can be taken into account by addinga new energy term E_(b)(M). This term will measure the cost of stitchingan object to the time-lapse background. Formally, letI_({circumflex over (b)})(x,y,t) be the color values of the mapped tube{circumflex over (b)} and let B_(out)(x,y,t) be the color values of thetime lapse background. we set:

$\begin{matrix}{{{E_{s}( \hat{b} )} = {\sum\limits_{x,{y \in {\sigma {(\hat{b})}}},{t \in {{\hat{t}}_{b}\bigcap{\hat{t}}_{out}}}}{{{I_{\hat{b}}( {x,y,t} )} - {B_{out}( {x,y,t} )}}}}},} & (14)\end{matrix}$

where σ({circumflex over (b)}) is the set of pixels in the border of themapped activity tube {circumflex over (b)} and t_(out) is the durationof the output synopsis. This cost assumes that each tube is surroundedby pixels from its original background (resulting from our morphologicaldilation of the activity masks).

The background consistency term in Eq. (14) is added to the energyfunction described in Eq. (7), giving:

$\begin{matrix}{{{E(M)} = {\sum\limits_{b \in B}{{( {{E_{a}( \hat{b} )} + {\gamma \; {E_{s}( \hat{b} )}}} )++}{\sum\limits_{b,{b^{\prime} \in B}}( {{\alpha \; {E_{t}( {\hat{b},{\hat{b}}^{\prime}} )}} + {\beta \; {E_{c}( {\hat{b},{\hat{b}}^{\prime}} )}}} )}}}},} & (15)\end{matrix}$

where α,β,γ are user selected weights that are query dependent.

Stitching the Synopsis Video

The stitching of tubes from different time periods poses a challenge toexisting methods (such as [1, 16]). Stitching all the tubes at once mayresult in a blending of colors from different objects, which is anundesired effect. It is better to preserve the sharp transitions betweendifferent objects, while eliminating the seams only between the objectsand the background. An accurate segmentation of the objects may solvethis problem, but an accurate segmentation is unrealistic. Instead, theboundaries of each tube consist of background pixels due to themorphological dilation we apply when generating the activity tubes.

The α-Poisson Image Blending, proposed by [27] may be a good solutionfor the stitching between objects, but not as good as the PoissonEditing [15] for stitching the objects to the background. The suggestedapproach is to use the observation that all objects have a similarbackground (up to illumination changes), and stitch each tubeindependently to the time lapse background. Any blending method ispossible, and we used a modification of Poisson editing: We added aregularization that preserves the original appearance of the objectseven if they were stitched to background images with a differentlighting conditions (e.g.—people seen during the day, stitched on top ofan evening-time background).

It should also be noted that the objects pasted on to the backgroundneed not be graphically identical to the corresponding objects in thesource video. For example, at least one object in the synopsis video maybe formed by spatially warping the object or replacing a correspondingobject in the source video by a predetermined symbol or icon. Also, whenobjects are added to the synopsis video, the pixel value of the objectsmay not necessarily replace the background value. The new value can bean average of the background and the object, creating a transparencyeffect.

Let Ω be an image domain with boundary ∂Ω. Let f,b be the foregroundobject (tube) and background (time lapse) pixel colors, and let s be theunknown values of the stitched object over the interior of Ω. The resultof the Poisson blending with regularization is given by:

$\begin{matrix}{{\min_{s}{\sum\limits_{\Omega}\lfloor {( {{\Delta \; s} - {\Delta \; f}} )^{2} + {{\lambda ( {s - f} )}^{2}.}} \rfloor}},{{{such}\mspace{14mu} {that}\mspace{14mu} s_{\partial\Omega}} = b_{\partial\Omega}},} & (16)\end{matrix}$

where λ is the weight of the regularization term. In [28] it was shownthat stitching in the gradient domain can be done very efficiently.

After stitching each tube to the background, overlapping tubes areblended together by letting each pixel be a weighted average of thecorresponding pixels from the stitched activity tubes {circumflex over(b)}, with weights proportional to the activity measures χ{circumflexover (b)}(x,y,t). Alternatively, transparency can be avoided by takingthe pixel with maximal activity measure instead of the weighted average.

It may be possible to use depth ordering when “object tubes” arecombined, where closer tubes will occlude further tubes. A simple“ground plane” heuristic can be used, assumes that an object whosevertical image position is lower is also closer. Other depth orderingmethods include [29]. The frequency of object occlusion cases depends onthe relative weights of the collision cost (that prevent such cases) inrespect to other costs.

Indexing

Synopsis based hierarchical video indexing aims to provide a compact andeasy method of representing and browsing video content, using visualqueries, even for endless video as is the case in surveillance cameras.FIG. 7 shows a conceptual architecture of synopsis-based hierarchicalvideo indexing and search. In this system we assume that the video intowhich indexing is desired has already been selected, e.g. “last hour”,“last 36 hours”, etc.

To build the proposed index, the video is first analyzed andactive/important objects are extracted from the video to generate anobject based representation of the video.

In the second stage of the indexing the objects are clustered intoclusters of similar objects using any clustering method. A possible wayto perform such clustering is building an affinity (similarity) matrixbased on some similarity measure between every pair of objects.

Affinity (Similarity) Between Objects

An affinity measure between objects can be based on various featuresincluding, but not limited to, a correlation between the space-timerepresentations of the objects. In order to perform efficient similaritymeasure, objects which are represented as 3D tubes in a space-timerepresentation of the video, can be first warped to common coordinatesystem and a space time-alignment can be performed to overcome theirpossible different location and scale. Such warping can be useful as itresults in a similarity measure that is invariant to the space-timelocation of the objects in the video and various projectivetransformations. Similar objects that have similar motion paths but indifferent location in the video will be considered as similar even iftheir original appearances are different because of perspective effects.Additional affinity measures can be the shape, size or colors ofobjects, and many other possible similarity measures as known in theart.

Clustering

Once the affinity matrix has been constructed, a clustering method suchas [309 can be used to classify each object into its correspondingclass. It is important to note that the clustering process can also beused to help identifying “irregular” objects and behavior. An objectthat is not clustered well to any of the classes can be suspicious asbeing “unique” or “irregular” and can be visualized with special markingin the process of the synopsis generation which is described later.

An example of such automatic clustering process on the objects extractedfrom a video sequence of 24 hours, shot in a parking lot, is illustratedin FIG. 8. In the six frames depicted therein, objects from six classesare shown: (i) people walking to the right; (ii) people walking to theleft; (iii) people walking next to the building; (iv) cars moving to theright; (v) cars moving to the left; (vi) cars getting in or out ofparking.

Alternatively, probabilistic clustering can be used whereby, instead ofhaving a hard decision as to which object belongs to which class, aprobability vector can be defined for each object and the differentclasses. This can be used in the hierarchical indexing process. Forexample, an object can be associated with more than one class if it fitswell to those classes. It can also be used in the case where irregularactivity is detected as manifested by an object that has substantiallyequal probabilities of belonging to different classes.

Hierarchical Index

Once the clusters are determined, and objects are grouped into clusters,a collection of hierarchical video synopsis sequences for indexing canbe generated based on this clustering (Synopsis from Clusters—SFC).

A possible indexing hierarchy could first present to the user a“top-level synopsis”: a synopsis video containing only a fewrepresentatives from each cluster. E.g. from the clusters shown in FIG.8, the “top level” synopsis can represent one object from each class:one car moving to the right, one car moving to the left, one personwalking to the right, one person walking to the left, etc. . . . Asingle frame from such synopsis can be seen in FIG. 9 whererepresentatives of the different clusters are presented simultaneously.The user can select an entire class of objects by selecting one of theobjects in the “top level” synopsis. This selection will result inpresenting to the user a synopsis video showing only objects in theselected cluster.

The top-level synopsis can be used as an interactive indexing tool toget to each desired object or activity in the original video. Once auser selected a specific cluster or a collection of clusters, the nextsynopsis in hierarchy are displayed. Such a synopsis will contain morerepresentatives or even all the objects from those clusters. At thisstage the user can specify his desired object and get to its originaltime in the input video. In case there are many objects in each class,and it is hard to generate a short synopsis, it is possible to add morelevels to the hierarchy and generate several sub clusters from eachoriginal cluster. For example, selecting the “cars moving to the right”cluster may generate two sub clusters of trucks and of sedans. In thiscase selecting one of the sub clusters will be needed before getting tothe final result of the search, showing a synopsis with most of theoriginal objects.

Such an approach provides a very quick search and indexing tool into avery large video which is based on visual queries and enables everyobject and activity in the original video to be reached in a reasonabletime.

Examples

We tested video synopsis on a few video streams captured off theInternet. As the frame rate is not constant over the Internet, andframes drop periodically, whenever we use a temporal neighborhood we donot count the number of frames, but we use the absolute times of eachframe.

FIGS. 10 and 12 are from cameras stationed outdoors, while FIG. 11 isfrom a camera stationed indoors with constant lighting. In most examplesthe main “interest” of each tube has been the number of moving pixels init.

FIGS. 10 a and 10 b show the effect of the choice of collision cost ofthe density of objects in the video synopsis. FIG. 10 a shows a framefrom a 20 second synopsis of a video captured over 24 hours at Stuttgartairport. FIG. 10 b shows that reducing the “collision penalty” in thecost function substantially increases the object density, therebyallowing more overlap between objects. FIG. 12 shows shape basedpreferences. In FIG. 12 a the regular cost function was used, and thelarge objects (moving cars) were preferred. In FIG. 12 b small, dark,objects were preferred, showing a completely different pedestrianactivity. FIG. 11 shows a frame from a short synopsis of a videocaptured over 9 hours in a Billiard club. Notice the multiple playersper table at the synopsis.

Customized Energy Functions

In most cases not all objects are of interest. A traffic surveillancecamera may be interested only in cars, while other applications mayprefer pedestrians. Filtering of objects can be done in several places.Objects can be filtered out before entering to the queue, and in thiscase it will never be possible to retrieve them. Alternatively, objectscan be filtered only at the query stage. In this case the queue willinclude all objects, and different queries can extract different objectsfrom the queue. It is also possible to create a customized energyfunction for each application.

A simple example of customization is shown in FIG. 12 b, where onlysmall, dark, objects were selected from the queue. While the originalsynopsis includes mostly cars, the new synopsis includes mostlypedestrians. Another example appears in FIG. 13, where the energyfunction included the element of a “phase transition”, when a movingobject stops and becomes part of the background. FIG. 13 a shows a framefrom a short synopsis taken over five hours from a webcam watching aquiet parking lot. A high score was given to phase transitions (e.g.moving objects that stop and become background). The video synopsisincludes mostly cars involved in parking. FIG. 13 b shows an altenativesynopsis where objects without phase transitions are preferred, so thatonly passing cars and pedestrians are shown.

Synopsis Specification

There are a few schemes for specifying the duration and quality of thevideo synopsis.

(a) Let the user specify the desired duration of the video synopsis andthe penalty for object collision. In this case, the optimization stagewill maximize the amount of activity that can be included in thesynopsis under the specified constraints.

(b) Let the user specify the desired duration of the video synopsis andthe percentage of activity to be included in it. The optimization stagewill generate a video synopsis having minimum collisions under thespecified constraints.

(c) Let the user specify the allowed percentage of lost objects and thepenalty for object collision. The optimization stage will minimize theduration of the synopsis under the specified constraints.

In our experiments we have implemented option (a), where the duration ofthe video synopsis was determined by the user as a hard constraint.Surveillance video may prefer options (b) or (c), assuring that mostobjects will be represented in the synopsis.

Object Based Speed Changes

Fast-forward is the most common tool used for video summarization, andhas always been applied to entire frames. For example, “time lapse”videos display in a short time slow processes like the growth offlowers, etc. Some current methods suggest an adaptive fast-forward [12,18, 4] but are still limited to the framework of entire frames. Withvideo synopsis each object can have its own “fast forward” based on itsimportance, or based on its original velocity. Slow objects may beaccelerated, but not fast objects. Alternatively, fast objects may beslowed down for easier viewing.

Object speed changes can be done in a simple manner, e.g. bringing allmoving objects to a uniform velocity. For this purpose slow objects willbe speeded up, and fast objects will be slowed down. Alternatively, thechange of speed of objects can be determined during the optimizationstage, giving some penalty to speed changes of objects. Addingobject-based speed changes to the optimization stage can further improvethe temporal compression rate of the synopsis video, at the expense ofincreasing the complexity of the optimization.

Speed changes of an object can be performed by sampling pixels from anobject at some selected time periods. If the number of selected timeperiods is smaller than the number of frames in the tube, the generaleffect is that the objected is speeded up. If the number of selectedtime periods is larger than the number of frames in the tube, the objectis slowed down. When a selected time period does not fall exactly on aframe, the pixel at this time can be interpolated from neighboringpixels at neighboring frames closest in time to the selected time. Anypossible interpolation method may be used.

Foreground-Background Phase Transitions

Phase transitions occur when a moving object becomes stationary andmerges with the background, or when a stationary object starts moving.Examples are cars being parked or getting out of parking. In most casesphase transitions are significant events, and we detect and mark eachphase transition for use in the query stage.

We can find phase transitions by looking for background changes thatcorrespond to beginning and ending of tubes. These transitions areimportant as they explain the changes in the background. Since phasetransitions correspond to changes in the background, the stitching ofphase transitions into the background should be given special attention.Two effects may occur in the synopsis video when phase transitions arenot inserted into the background at the right time. (i) Backgroundobjects will appear and disappear with no reason, causing a flickeringeffect. (ii) Moving objects will disappear when they stop moving, ratherthan become part of the background. To minimize such effects in thevideo synopsis, phase transitions should be inserted into the time lapsebackground at a time that corresponds to their original time.

System Hardware

Referring now to FIG. 14, there is shown a block diagram of a system 10according to the invention for generating a synopsis video from a sourcevideo captured by a camera 11. The system 10 includes a video memory 12for storing a subset of video frames of the first source video that showmovement of at least one object comprising a plurality of pixels locatedat respective x, y coordinates. A pre-processor 13 processes thecaptured video on line. The pre-processor 13 may include an alignmentunit 14 for pre-aligning the video frames. In this case, the camera 11will be coupled to the alignment unit 14 so as to store the pre-alignedvideo frames in the video memory 12. The alignment unit 14 may operateby:

computing image motion parameters between frames in the source video;

warping the video frames in the source video so that stationary objectsin the imaged scene will be stationary in the video.

The pre-processor 13 also includes a source object detector 15 thatdetect objects in the source video and queues the detected objects in anobject memory 16. As noted above, when an object is inserted into thequeue, its activity cost (Eq. (8)) is computed to accelerate the futureconstruction of synopsis videos, this also being done by thepre-processor 13. It is to be understood that the pre-processor 13 isshown for the sake of completeness owing to its use when creating asynopsis video from an endless source video. The invention alsocontemplates a reduced system without the pre-processor 13 that isadapted to be coupled to the object memory 16 for manipulating theobject queue so as to create a synopsis video according to definedcriteria. Such a system is realized by the remaining components in FIG.14, as will now be described.

Thus, a user interface 17 is coupled to the object memory 16 forallowing user-defined constraints to be defined. Such constraints may beused, for example, to define a time window within the source video to besummarized. It may also be used to define the required duration of thesynopsis video. The user interface 17 is also used to select objects orobject classes for indexing purposes. It will be appreciated that theconstraints may also be predefined, in which case some embodiments ofthe invention will not require the user interface 17.

A source object selector 18 is coupled to the object memory 16 forselecting from the subset at least three different source objectsaccording to the user-defined constraints or to default constraintsdefined by the system. Each of the different source objects is aconnected subset of image points from at least three different frames ofthe source video. A clustering unit 19 may optionally be coupled to thesource object selector 18 for clustering objects according to definedcriteria, which may be specified by the user using the user interface17. A synopsis object sampler 20 is coupled to the source objectselector 18 or to the clustering unit 19 when provided, for samplingfrom each selected source object one or more synopsis objects bytemporal selection using image points derived from some selected frames.The “sampler” may be used to change the speed of individual objects. Aframe generator 21 includes a cluster selector 22 that allows onlyselected clusters to be included in the synopsis video. The framegenerator 21 also includes a time selector 23 for selecting for eachsynopsis object a respective time for starting its display in thesynopsis video. The frame generator 21 further includes a colortransformation unit 24 for selecting for each synopsis object and eachframe a respective color transformation for displaying the synopsisobject. Optionally, the frame generator 21 may include a warping unit 25for spatially warping objects prior to stitching to the synopsis video.Within the context of the description and the appended claims, the term“warping” is intended to embrace any spatial editing of an object. Asnoted above, this can include replacing an object in its entirety byanother object such as an icon; or it can simply involve effectingslight geometric adjustments to an object prior to its being stitched inthe synopsis video. A stitching unit 26 within the frame generator 21stitches the selected color-transformed synopsis objects so as togenerate successive synopsis video frames. The frames of the synopsisvideo are stored in a synopsis frame memory 27 for subsequent processingor display by a display unit 28 that displays the temporally shiftedobjects at their specified time and color transformation.

The system 10 may in practice be realized by a suitably programmedcomputer having a graphics card or workstation and suitable peripherals,all as are well known in the art.

FIG. 15 is a flow diagram showing the principal operation carried by thesystem 10 in accordance with an embodiment of the invention.

Concluding Remarks

Object-based synopsis can be used to create a short video that is asynopsis of an endless video streams, such as recorded by surveillancecameras. The method includes two phases. In the input phase, which isperformed in real time, the video stream is analyzed and objects ofinterest are detected and segmented from their background.

While an object interest function based on motion has been described,any other approach for object detection, recognition, and segmentationcan be used for the generation of the “tubes”—the 3D space-timerepresentation of each object.

Queue management is necessary to bridge the gap between infinite videoand finite storage, and to enable fast response to user queries. Severalmethodologies have been described for determining which objects shouldbe removed from the queue once it becomes full, but other methodologiesare possible. Even a random selection of objects for removal from thequeue may work fine.

The second phase occurs after the user's query is given. A subset of thequeue is extracted based on the period of interest, and the object tubesare arranged (by temporal shifts) to generate the optimal videosynopsis. This stage, which requires off-line computation, delivers thevideo synopsis to the user.

Some very interesting aspects concern periodicity in background.Day-night periods are particularly amenable to detection. In most caseswhen a few days are covered by a single synopsis, the time-lapsebackground may cover only a single day, while the activities will comefrom all days. This should be an option given to the user specifying thequery.

It will be understood that reference to “image points” unlessspecifically limited to binary segmentation, is intended to embrace alsoimage points as determined by interpolation or by non-binarysegmentation methods such as fuzzy segmentation.

It is also to be understood that when a source video is monochrome, thecolor transformation unit may be used to determine an appropriate grayscale transformation to be applied to selected synopsis objects prior tostitching. Therefore, within the context of the appended claims, theterm “color” is not intended to be limited only to RGB but may also bemonochrome.

It should also be noted that transformation of color or grayscale isonly one type of transformation that may be applied to selected synopsisobject prior to stitching. As explained above, this is particularlybeneficial when generating a synopsis video from a source video thatspans a long duration in order to ensure background consistency. But itmay be less critical when a synopsis video is derived from a sourcevideo in which the background hue is sufficiently constant during therequired time window.

It will also be understood that the system according to the inventionmay be a suitably programmed computer. Likewise, the inventioncontemplates a computer program being readable by a computer forexecuting the method of the invention. The invention furthercontemplates a machine-readable memory tangibly embodying a program ofinstructions executable by the machine for executing the method of theinvention.

1. A method for generating a synopsis video from a substantially endlesssource video stream as generated by a video surveillance camera, themethod comprising: receiving in real time object-based descriptions ofat least three different source objects in said source video stream,each source object being a connected subset of image points from atleast three different frames of the source video stream; continuouslymaintaining a queue of said received object-based descriptions includingfor each respective source object its duration and location; selecting asubset of at least three source objects from said queue based on givencriteria, and sampling from each selected source object one or moresynopsis objects by temporal sampling; determining for each synopsisobject a respective display time for starting its display in thesynopsis video; and generating the synopsis video by displaying selectedsynopsis objects or objects derived therefrom each at its respectivepredetermined display time; such that at least three points, eachderived from different respective times in the source video stream, aredisplayed simultaneously in the synopsis video and at least two points,both derived from the same time, are displayed at different times in thesynopsis video.
 2. The method according to claim 1, further including:determining for each synopsis object and each frame in the synopsisvideo a respective color transformation for displaying the synopsisobject; and displaying said selected synopsis objects or the objectsderived therefrom at their respective color transformation.
 3. Themethod according to claim 1, wherein one of the objects is a backgroundobject.
 4. The method according to claim 3, including stitching theobjects and the background into a seamless video.
 5. The methodaccording to claim 1, wherein source objects are selected from the queueand a respective time for starting the display of each synopsis objectis determined so as to optimize a cost function.
 6. The method accordingto claim 1, wherein the background object is generated synthetically. 7.The method according to claim 1, wherein each object in the synopsisvideo points to a time segment in the source video stream where therespective object is visible.
 8. The method according to claim 7,wherein selecting an object causes the time segment in the source videostream pointed to by the selected object to be played.
 9. The methodaccording to claim 1, wherein at least one object in the synopsis videois formed by replacing a corresponding object in the source video streamby a predetermined symbol.
 10. The method according to claim 1, whereinobjects are first clustered into similar classes, and the synopsis videoincludes objects from at least a pre-determined number of classes. 11.The method according to claim 1, wherein objects are first clusteredinto similar classes, and objects from at least one selected class arenot displayed.
 12. The method according to claim 7, wherein objects arefirst clustered into similar classes and selecting an object points to avideo synopsis including objects only from the same class as theselected object.
 13. The method according to claim 1, wherein selectingone or more source objects includes: computing a cost function forstitching the synopsis objects onto the synopsis video; and selectingsynopsis objects for which the cost function is considered as close tooptimal as can be achieved.
 14. The method according to claim 1, whereinselecting at least three non-overlapping source objects from the queueincludes filtering the source objects based on user-defined constraintsand limiting filtered source objects to source objects that appearwithin a specified time window.
 15. The method according to claim 1,wherein selecting at least three non-overlapping source objects includesdetermining an interest score.
 16. The method according to claim 15,wherein the interest score is a measure of activity.
 17. The methodaccording to claim 1, wherein the synopsis video contains all objects ofinterest in the source video stream.
 18. The method according to claim1, wherein a number of objects of interest in the source video streamthat appear also in the synopsis video is a tradeoff between maximizingsaid number while maintaining visual appeal of the synopsis video. 19.The method according to claim 1, wherein the source video stream iscaptured by a single camera.
 20. The method according to claim 19,including maintaining said single camera at a fixed location.
 21. Themethod according to claim 20, wherein the camera is rotated relative toan axis at said fixed location.
 22. The method according to claim 1,including spatially warping at least one of said synopsis objects priorto display thereof.
 23. The method according to claim 1, includingpre-aligning the source video stream so as to produce a stabilizedsource video stream by: (a) computing image motion parameters betweenframes in the source video stream; (b) warping the video frames in thesource video stream so that stationary objects will appear stationary inthe stabilized source video stream.
 24. The method according to claim 1,being used for video surveillance.
 25. The method according to claim 1,being used for at least one in the group of: video indexing, videobrowsing and video retrieval.
 26. The method according to claim 25,including maintaining for pixels in the synopsis video a pointer tocorresponding pixels in the source video stream.
 27. A system forgenerating a synopsis video from a substantially endless a source videostream as generated by a surveillance camera, the system comprising: asource object selector adapted to be coupled to an object memory thatstores a continuously maintained queue of object-based descriptions ofat least three different source objects in said source video stream,said object-based descriptions including for each respective sourceobject its duration and location, the source object selector beingadapted to select at least three different source objects according toone or more defined constraints, each source object being a connectedsubset of image points from at least three different frames of thesource video stream; a synopsis object sampler coupled to the sourceobject selector for sampling from each selected source object one ormore synopsis objects by temporal sampling using image points derivedfrom specified time periods; a time selection unit coupled to thesynopsis object sampler for determining for each synopsis object arespective display time for starting its display in the synopsis video;a stitching unit coupled to the time selection unit for stitching eachof the selected synopsis objects or objects derived therefrom at arespective display time so as to generate successive synopsis videoframes, such that in the synopsis video frames at least three pointsthat each derive from different respective times in the source videostream are displayed simultaneously; and a synopsis frame memory coupledto the stitching unit for storing said synopsis video frames.
 28. Thesystem according to claim 27, further including a display unit coupledto the stitching unit for displaying the synopsis video.
 29. The systemaccording to claim 27, further including a color transformation unitcoupled to the time selection unit for determining for each synopsisobject and each frame a respective color transformation for displayingthe synopsis object; the stitching unit being coupled to the colortransformation unit for stitching the selected synopsis objects orobjects derived therefrom at their respective color transformation. 30.The system according to claim 27, further including a user interfacecoupled to the object memory for allowing user-defined constraints to bedefined.
 31. The system according to claim 27, further including aclustering unit for clustering objects according to defined criteria.32. The system according to claim 27, further including a pre-processorfor processing captured video on line to detect said objects in thesource video stream, said pre-processor being adapted for coupling tothe object memory for storing said objects therein.
 33. The systemaccording to claim 32, wherein the pre-processor includes an alignmentunit for pre-aligning video frames in the source video stream.
 34. Thesystem according to claim 33, wherein the alignment unit is adapted to:compute image motion parameters between frames in the first sequence;and warp the video frames in the first sequence so that stationaryobjects in the first dynamic scene will be stationary in the video. 35.The system according to claim 27, wherein the frame generator includes awarping unit for spatially warping at least one object prior tostitching to the synopsis video.
 36. The system according to claim 27,being adapted for at least one in the group of: video indexing, videobrowsing and video retrieval.
 37. A computer program comprising computerprogram code means for performing the method of claim 1 when saidprogram is run on a computer.
 38. A computer program as claimed in claim37 embodied on a computer readable medium.